---
title: การอัปเกรดแอปของคุณไปยัง WalletConnect v2
description: RainbowKit ได้ย้ายไปใช้งาน v2 แล้ว และคุณสามารถเตรียมแอปของคุณภายใน 5 นาทีหรือน้อยกว่า
image: guide-walletconnect-v2.png
---

# การย้ายไปสู่ WalletConnect v2

## เตรียมแอปของคุณสำหรับการอัปเกรดไปยัง v2 ภายใน 5 นาทีหรือน้อยกว่า

โปรโตคอล WalletConnect v1 จะถูกยกเลิกการใช้งานในวันที่ 28 มิถุนายน 2023 และ RainbowKit จะช่วยให้คุณทำการเปลี่ยนผ่านแบบง่ายดาย

การรองรับ WalletConnect v2 ถูกทำเป็นมาตรฐานใน RainbowKit แล้ว ไม่มีการเปลี่ยนแปลงใดๆ เพียงแค่อัปเกรดและอ้างอิงคำแนะนำด้านล่างสำหรับรายละเอียดเพิ่มเติม

#### ทำความเข้าใจกับ WalletConnect v2

WalletConnect เป็นโปรโตคอลที่อนุญาตให้ผู้ใช้เชื่อมต่อกระเป๋าเงินมือถือของตนเข้ากับแอปของคุณ และเป็นฐานสำคัญของ RainbowKit การปล่อยตัวล่าสุดของ WalletConnect v2 นำเสนอการอัปเกรดสำคัญหลายอย่างเพื่อทำให้ประสบการณ์การใช้งานดีกว่าที่เคย

ด้วย v2, ผู้ใช้ของคุณสามารถเชื่อมต่อกับเชนหลาย ๆ เชนพร้อมกันได้ ทำให้คุณไม่ต้องกังวลกับการสลับเชน นอกจากนี้ยังสนับสนุนเครือข่ายมากขึ้นและปรับปรุงการลงชื่อเข้าใช้ด้วย Ethereum ให้เร็วขึ้น

#### การอัปเกรดแอปของคุณ

หากคุณได้ติดตามคำแนะนำการย้ายสำหรับ RainbowKit `0.12.x` และ `1.0.x` แล้ว คุณก็กำลังเกือบสำเร็จ! เพียงอัปเกรดเป็นแพตช์ล่าสุดและลองใช้เลย

RainbowKit เปิดการใช้งาน WalletConnect v2 โดยค่าเริ่มต้นด้วย `0.12.15` และ `1.0.2` ยังมีการสนับสนุนต่อไปสำหรับ `0.12.x` ในกรณีที่แอปของคุณยังไม่ได้อัปเกรดสู่ wagmi v1 และ RainbowKit v1

**1. การอัปเกรดการพึ่งพา**

```bash
npm i @rainbow-me/rainbowkit@^1.0.2 wagmi@^1.2
```

หากคุณใช้เวอร์ชั่นของ RainbowKit ก่อน `0.12.x` หรือ `1.0.x` เพียงทำตาม [คู่มือการย้าย](/docs/migration-guide) เพื่อให้ทันสมัย

แนะนำให้แอป `0.12.x` เริ่มอัปเกรดไปสู่ wagmi v1 เพราะการปรับปรุงเสถียรภาพสำหรับ WalletConnect v2 จะรวมอยู่ในเวอร์ชั่นของ wagmi ในอนาคตเท่านั้น

**2. การระบุ projectId**

ทุก ๆ dApp ที่พึ่งพา WalletConnect ตอนนี้จำเป็นต้องรับ `projectId` จาก [WalletConnect Cloud](https://cloud.walletconnect.com/). นี่คือแบบฟรีและใช้เวลาไม่กี่นาทีเท่านั้น.

ส่ง `projectId` ของคุณไปยัง `getDefaultWallets` และตัวเชื่อมต่อกระเป๋าเงิน RainbowKit แบบต่าง ๆ ดังนี้:

```ts
const projectId = 'YOUR_PROJECT_ID';
const { wallets } = getDefaultWallets({
  appName: 'My RainbowKit App',
  projectId,
  chains,
});
const connectors = connectorsForWallets([
  ...wallets,
  {
    groupName: 'Other',
    wallets: [
      readyWallet({ projectId, chains }),
      trustWallet({ projectId, chains }),
      ledgerWallet({ projectId, chains }),
    ],
  },
]);
```

RainbowKit ปลอดภัยในการพิมพ์และจะแจ้งเตือนคุณเมื่อไม่มี `projectId` อ้างอิงตัวอย่างของเราเพื่อดู v2 ในการใช้งานจริง:

- [Create React App](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-create-react-app)
- [Next.js](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-next)
- [Next.js App Router](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-next-app)
- [Remix](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-remix)
- [Vite](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-vite)
- [React Router](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-react-router)

อ้างอิง [เอกสาร](https://www.rainbowkit.com/docs/custom-wallet-list#walletconnect) สำหรับตัวเลือกสนับสนุนเพิ่มเติม
